package com.cloud.util.page.dao;

import java.util.List;

/**
 * 
 * 分页查询访问Dao
 * 
 * @version 1.0
 * @date 2016-04-26
 * @author gaof
 */
public interface IPageDao {

	/**
	 * 查询指定sql语句的记录数
	 * 
	 * @return
	 */
	public int getTotalCountByHbSql(String hbSql);

	/**
	 * 获取分页记录信息
	 * 
	 * @param hbSql
	 *            :查询语句
	 * @param page
	 *            :要查询的页数
	 * @param pageSize
	 *            :一页显示的数量
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public List getRangeInfoList(String hbSql, int page, int pageSize);

	/**
	 * 本地化sql语句接口,获得记录数目
	 * @param totalCountHbSQL
	 * @return
	 */
	public int getTotalCountBySql(String totalCountHbSQL);

	/**
	 * 获取分页记录信息
	 * 
	 * @param hbSql
	 *            :查询语句
	 * @param page
	 *            :要查询的页数
	 * @param pageSize
	 *            :一页显示的数量
	 * @param class1 
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public List getSQLRangeInfoList(String listHbSql, int currentPage,
			int pageSize, Class entityClass);

}
